home *** CD-ROM | disk | FTP | other *** search
- /*
- * math.h の補助 ver 0.3
- */
-
- #define sign( a ) ( ( (a)>0 ) ? (1) : ( ((a)<0)?(-1):(0) ) )
- #define max( a, b ) ( ( (a) > (b) ) ? (a) : (b) )
- #define min( a, b ) ( ( (a) < (b) ) ? (a) : (b) )
- #undef ads
- // #define abs( a ) ( ( (a) > 0 ) ? (a) : (-(a)) )
-
- #define DECIMAL 10 /* これは下位の 10bit shift の意味。 したがって本当の単位は 2^10。 整数部 2^22。 */
- #define DUNIT 1024 /* = 2^10 */
-
- /* 整数固定少数変換 */
- #define IntToDeci( i ) ( (i) << DECIMAL )
- #define DeciToInt( d ) ( (d) >> DECIMAL )
- /* 固定少数の演算の補正 Macro。 (まとてやったほうが速いから別にしておく) */
- #define AdjMulDeci( d ) ( (d) >> DECIMAL )
- #define AdjDivDeci( d ) ( (d) << DECIMAL )
- #define MulDeci( a, b ) ( (a)*(b) >> DECIMAL )
- #define DivDeci( a, b ) ( ((a) << DECIMAL) /(b) )
-
-